package org.example.demo.service;

import dev.langchain4j.service.MemoryId;
import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;
import dev.langchain4j.service.V;
import dev.langchain4j.service.spring.AiService;
import org.example.demo.bean.Recipe;

@AiService
public interface Assistant {

    @SystemMessage("You are a polite assistant")
    String chat(String userMessage);

    @SystemMessage("You are a polite assistant")
    String chatWithHistory(@MemoryId String conversationId, @UserMessage String userMessage);

    // 新增一个使用模板的方法
    @UserMessage("""
        请创建一个 {{dish_type}} 菜肴的食谱。 
        主要食材是：{{ingredients}}。 
        请提供包含标题、简要描述、所需食材列表以及逐步操作说明的完整食谱。
        """)
    Recipe createRecipeAsObject(@V("dish_type") String dish_type, @V("ingredients") String ingredients);
}